文件包含漏洞 第四十三天

代理地址

    以http://118.24.52.95/get_all/获得的json数据,代理ip以及端口号,
通过爬取放入代理池,可以进一步利用


附注:代理的python,还没有整理,暂时先以json数据提交

本地包含

文件包含涉及的函数

include():

    使用包含文件时,只有"执行到"include()
函数时才能将文件包含进来,发生错误时给出警告,继续向下执行

include_once():

    功能与include相同,重复使用时,程序只调用一次

require():

    require()执行发生错误,函数会输出错误信息并停止脚本运行,

require_once()

    功能与require相同,重复使用时,程序只调用一次

成因

    文件包含函数加载的参数没有经过严格意义的定义,可以被用户控制,

包含其他的恶意文件,导致执行非预期的代码。

代码如下:
<?php
    $filename  = $_GET['filename'];
    include($filename);
?>

$_GET['filename']参数开发者没有经过严格的过滤,直接带入了include的函数,攻击者可以修改
$_GET['filename']的值,执行非预期的操作。

远程包含

成因与函数

    同本地包含文件的成因与函数相同

代码构成

    此形式可以构成本地和远程的双包含漏洞

    此形式只有本地包含漏洞,

原因:在include的前面添加啦“./”这不能使浏览器解析
     远程连接中的http协议

特殊的包含处理方式

%00截断(有限制的本地包含漏洞绕过)

   00截断有条件限制,需要在php版本<5.3.4下,且magic_quotes_gpc=Off
代码如下:
<?php
    $filename = $_GET["filename"];
    include($filename. ".html");
?>
实验结果:

http://192.168.100.144/action.php?filename=a.jpg%00html 查看图片路径,去除都多余字符

有限制的远程连接


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zhumeng512@qq.com

文章标题:文件包含漏洞 第四十三天

本文作者:弈少

发布时间:2019-09-18, 18:33:45

最后更新:2019-09-18, 19:15:16

原始链接:http://yoursite.com/2019/09/18/北京渗透测试第四十三天 20190918/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

相册